<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件流</title>
    <style>
        .father {
            overflow: hidden;
            width: 500px;
            height: 500px;
            background-color: skyblue;
            margin: 100px auto;
            text-align: center;
        }

        .son {
            width: 300px;
            height: 300px;
            background-color: yellow;
            margin: 80px auto;
            text-align: center;
            line-height: 300px;
        }
    </style>
</head>

<body>
<div class="father">
    父盒子
    <div class="son">子盒子</div>
</div>
<script>
    // 事件流
    const father = document.querySelector('.father')
    const son = document.querySelector('.son')
    // 给父盒子添加点击事件
    // 参数1: 事件类型
    // 参数2: 事件处理函数
    // 参数3: 是否使用捕获 (很少用到) 重点是冒泡, 不是捕获
    father.addEventListener('click', function() {
        alert('我是爸爸')
    }, true)
    // 给子盒子添加点击事件
    son.addEventListener('click', function() {
        alert('我是儿子')
    })

    // 事件流完整阶段分为捕获和冒泡
    // 1. 事件捕获: 触发事件时由外向内逐层触发
    // 2. 事件冒泡: 捕获阶段结束后, 找到了目标元素, 再由内向外逐层触发
</script>
</body>

</html>